package base.集合;

import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
import java.util.function.Consumer;

public class TreeSet练习 {
    public static void main(String[] args){
        //【第一节】
        TreeSet<Integer> ts = new TreeSet<>();
        ts.add(2);ts.add(4);ts.add(3);ts.add(1);ts.add(5);
        System.out.println(ts);
        System.out.println("--------------------------");
        //迭代器
        Iterator<Integer> it = ts.iterator();
        while(it.hasNext()){
            int e = it.next();
            System.out.print(e+" ");
        }
        System.out.println("\n"+"--------------------------");
        //lambda
        ts.forEach(integer -> System.out.print(integer+" "));
        System.out.println();
        //【第二节：比较器】
        /*
            存入四个字符，‘c’,'ab','df','qwer'
            按照长度排序，如果一样长则按照字母排序；
            采取比较器排序
         */
        //o1 : 当前添加的元素
        //o2 : 红黑树元素
        //规则：负数放左边....
        TreeSet<String> tS = new TreeSet<>(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                int i = o1.length() - o2.length();
                i = i == 0 ? o1.compareTo(o2) : i;
                return i;
            }
        });
        tS.add("c");tS.add("ab");tS.add("df");tS.add("gwer");
        System.out.println(tS);
    }
}
